package map.android.baidu.carpool.utils;

import java.security.MessageDigest;

import android.text.TextUtils;

public class MD5Util {
	private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
			"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

	public static String byteArrayToHexString(byte[] aBytes) {
		StringBuffer resultSb = new StringBuffer();
		for (int i = 0; i < aBytes.length; i++) {
			resultSb.append(byteToHexString(aBytes[i]));
		}
		return resultSb.toString();
	}

	private static String byteToHexString(byte aBytes) {
		int n = aBytes;
		if (n < 0)
			n = 256 + n;
		int d1 = n / 16;
		int d2 = n % 16;
		return hexDigits[d1] + hexDigits[d2];
	}

	public static String encode(String string) {
		if (TextUtils.isEmpty(string))
			return null;
		String resultString = null;

		try {
			resultString = string;
			MessageDigest md = MessageDigest.getInstance("MD5");
			resultString = byteArrayToHexString(md.digest(resultString
					.getBytes()));
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return resultString;
	}
}
